The present invention relates to an apparatus and method for a radio link control (RLC) layer in a terminal for receiving and processing data blocks (or units) corresponding to a particular service received from a plurality of cells in a UMTS (Universal Mobile Telecommunications System) type IMT-2000 system. In particular, the present invention relates to an apparatus and method for a radio link control (RLC) layer for receiving and processing data blocks corresponding to a particular service received from a plurality of cells, wherein an RLC entity operating in unacknowledged mode (UM) uses a window and a timer, or state variables to deliver (transfer, send, transmit, etc.) the data blocks received from a plurality of cells to an upper layer with minimal delay time, omission or losses and without duplicate data blocks (or units).
FIG. 1 illustrates an exemplary basic architecture of a UMTS network. As shown in FIG. 1, the UMTS is roughly divided into a terminal 100 (mobile station, user equipment (UE), etc.), a UMTS Terrestrial Radio Access Network (UTRAN) 120, and a core network (CN) 130. The UTRAN 120 includes one or more radio network sub-systems (RNS) 125. Each RNS 125 includes a radio network controller (RNC) 123, and a plurality of base stations (Node-Bs) 121 managed by the RNC 123. One or more cells exist for each Node B 121.
FIG. 2 illustrates a radio interface protocol architecture that exists in the mobile terminal and in the UTRAN as one pair, for handling data transmissions via the radio interface. Regarding each radio protocol layer, the first layer (Layer 1) is a physical layer (PHY) that serves the purpose of transmitting data over the radio interface by using various radio transmission techniques. The PHY layer is connected with an upper layer, the medium access control (MAC) layer via transport channels, which include a dedicated transport channel and a common transport channel depending upon whether that channel is shared or not.
In the second layer (Layer 2), a MAC layer, a radio link control (RLC) layer, a packet data convergence protocol (PDCP) layer and a broadcast/multicast control (BMC) layer exist. The MAC layer serves the purpose of mapping various logical channels to various transport channels, as well as performing logical channel multiplexing for mapping a plurality of logical channels to a single transport channel. The MAC layer is connected to a higher layer, the RLC layer, via logical channels, and these logical channels are divided into control channels that transmit control plane information and traffic channels that transmit user plane information.
The RLC layer handles the guaranteeing of the quality of service (QoS) of each radio bearer (RB) and the transmission of the corresponding data thereof. To guarantee the unique QoS of a radio bearer, the RLC layer has therein one or two independent RLC entities for each radio bearer, and provides three types of RLC modes; a transparent mode (TM), an unacknowledged mode (UM), and an acknowledged mode (AM), in order to support the various QoS. Also, the RLC layer adjusts the data size accordingly such that a lower layer may transmit data over the radio interface, by performing segmentation and concatenation on the data received from an upper layer.
The PDCP layer is located above the RLC layer and allows data that is transmitted by using Internet Protocol (IP) packets, such as IPv4 or IPv6, to be effectively transmitted over a radio interface having a relatively smaller bandwidth. For this purpose, the PDCP layer performs a header compression function, whereby only the absolutely necessary data in the header portion of the data are transmitted, in order to increase transmission efficiency over the radio interface. Because header compression is its basic function, the PDCP layer only exists in the PS (packet switched) domain, and a single PDCP entity exists per each radio bearer (RB) for providing effective header compression function with respect to each PS service.
Additionally, in the second layer (L2), a BMC (Broadcast/Multicast Control) layer exists above the RLC layer for performing the functions of scheduling cell broadcast messages and broadcasting to terminals located in a particular cell.
The radio resource control (RRC) layer located at the lowest portion of the third layer (L3) is only defined in the control plane, for controlling the parameters of the first and second layers and for controlling the transport channels and the physical channels in relation to the configuration, the re-configuration, and the releasing of the radio bearers (RBs). Here, the RB refers to a logical path provided by the first and second layers of the radio protocol for data delivery between the terminal and the UTRAN. And in general, configuration of a radio bearer (RB) refers to regulating the protocol layers and the channel characteristics of the channels required for providing a specific service, as well as setting their respective specific parameters and operation methods.
The RLC layer will be explained in more detail hereafter. The basic function of the RLC layer is to guarantee the QoS (Quality of Service) of each RB and transmitting data accordingly. As the RB service is a service that is provided from the second layer of the radio protocol to an upper layer, the entire second layer affects the QoS, and in particular, the effect of the RLC is great. For the RLC to guarantee the QoS that is unique to that RB, an independent RLC entity is provided for each RB and to support various QoS, three types of RLC modes; Transparent Mode (TM), Unacknowledged Mode (UM), and Acknowledged Mode (AM) are provided. Each of these three RLC modes respectively supports different QoS, the operation methods thereof are different and there are differences in their detailed functions as well. Thus, the RLC should be considered in more detail according to their operation modes.
TM RLC is a mode in which no overhead is attached to the RLC SDU (Service Data Unit) received from an upper layer when constituting a RLC PDU (Protocol Data Unit). Namely, the RLC passes the SDU in a transparent manner, thus it is called TM RLC, and due to such characteristics, the user plane and the control plane performs the following functions. In the user plane, because the data processing time within the RLC is short, transmission of real-time circuit service (CS) domain data such as voice and streaming in the CS domain are mainly handled. In the control plane, because there is no overhead within the RLC, the uplink transmission of RRC messages from any terminal and the downlink transmission of RRC messages that are broadcast to all terminals within a cell region are handled.
Unlike transparent mode, the mode in which overhead is added at the RLC is called non-transparent mode, and there are two types with respect to whether receipt of the transmitted data is unacknowledged (UM: unacknowledged mode) or acknowledged (AM: acknowledged mode). UM RLC transmits data by adding to each PDU, a PDU header that includes a sequence number (SN), such that the receiving end can know which PDU had been lost during transmission (i.e., the PDU is missing). When considered from the transmitting side RLC, if the transmitting side operates in unacknowledged mode, it does not check whether the receiving end properly received the corresponding PDU, and once a PDU is transmitted, it is not re-transmitted. When considered from the receiving end RLC operating in unacknowledged mode, the PDUs that have been missing are determined by referring to the sequence numbers of the received PDUs, and for those PDUs determined to be missing, waiting is not performed and a received PDU is delivered immediately to the upper layer. For example, when a UM RLC first receives a RLC PDU having SN=3 and then receives a RLC PDU having SN=6, the UM RLC determines that receipt of the RLC PDU having SN=4 and the RLC PDU having SN=5 was unsuccessful and no longer waits for these two RLC PDUs. Due to such function, the UM RLC mainly handles, in the user plane, the transmission of broadcast/multicast data and the transmission of real-time packet data such as voice (e.g., VoIP: Voice over IP) or streaming of the packet service (PS) domain, while in the control plane, the transmission of RRC messages that do not need receipt acknowledgement among those RRC messages transmitted to a particular terminal or terminal group within a cell region.
As one type of non-transparent mode, AM RLC constitutes a PDU by attaching a PDU header that includes a SN as done in UM RLC, but unlike UM RLC, the receiving end provides acknowledgement for the PDU transmitted by the transmitting end. In AM RLC, the reason that the receiving end provides acknowledgement is to request re-transmission from the transmitting end of those PDUs that were not received, and this re-transmission function is one of the most important characteristics of the AM RLC. The ultimate purpose of this is for the AM RLC to guarantee error-free data transmissions through re-transmissions, and due to this purpose, the AM RLC mainly handles non-real-time packet data transmissions such as TCP/IP of the PS domain in the user plane.
The UM RLC will be explained in more detail hereafter. The UM RLC sets and manages a state variable called ‘VR(US)’ which refers to the next sequence number that is expected to be received, namely, the very next sequence number after the sequence number of the RLC PDU that was most recently received. Thus, if the most recently received SN=x, then VR(US)=x+1.
The UM RLC of the transmitting end receives RLC SDUs (Service Data Units) from an upper layer, performs segmentation or concatenation thereto to generate data units of appropriate size and sequence numbers are sequentially allocated to each in order to form RLC PDUs which are then delivered to a lower layer. Also, the UM RLC includes length indicators (LI) in the RLC PDU that indicate the location of boundaries between RLC SDUs within a RLC PDU, in order to allow proper reassembling (reconstructing) of the RLC SDU from the RLC PDU at the receiving end.
Here, the sequence number can be expressed in 7 bits. By expressing the sequence number in this simple manner, the header portion of each RLC PDU can be minimized and the transmission efficiency of the data to be sent can be increased. Thus, the sequence number values that are actually included in the RLC PDUs are from 0 to 127. The transmitting side sequentially allocates sequence numbers starting from 0 to each RLC PDU, and after the number 127 has been allocated, the sequence numbers beginning from 0 are used again. As such, when a sequence number (e.g., 0) is allocated after a larger sequence number (e.g., 127), this is referred to as a ‘wrap-around’ situation. Thus, the RLC PDUs having sequence numbers allocated after a wrap-around situation should be delivered after the RLC PDUs having sequence numbers allocated before the wrap-around situation. The receiving end always checks the sequence numbers (SN) of the received RLC PDUs, and if the SN of the received RLC PDU is smaller than the SN of the last received RLC PDU, it is determined that a wrap-around situation has occurred and it is assumed that all subsequently received RLC PDUs would be RLC PDUs that should be sequentially after the previously received RLC PDUs.
FIG. 3 depicts the operation of the UM RLC at the receiving end according to the related art when a RLC PDU is received from a lower layer.
First, the VR(US) is updated (re-set) to match the SN value of the received RLC PDU. Second, if the update interval of the VR(US) is not 1 in the above first step, it is determined that there is at least one missing RLC PDU, and all RLC SDUs related to the one or more missing RLC PDUs are discarded. Otherwise, if the update interval is 1, then the next step is performed. Third, a reassembly procedure is performed by using the successfully received RLC PDUs, and then only those successfully reassembled RLC SDUs are sent to the upper layer and the operation is completed.
Hereafter, multimedia broadcast/multicast service (MBMS) will be described. MBMS refers to a downlink transmission service for providing data services such as, streaming services (e.g., multimedia, video on demand, webcast, etc.) or background services (e.g., e-mail, short message services (SMS), downloading, etc.), to a plurality of terminals by employing a downlink dedicated MBMS bearer service. A single MBMS service is comprised of one or more sessions, and MBMS data is transmitted to the plurality of terminals through an MBMS radio bearer while a session is ongoing.
MBMS can be classified into a broadcast mode and a multicast mode. The MBMS broadcast mode refers to transmitting multimedia data to all users within a broadcast area, which is a region where broadcast service is possible. In contrast, MBMS multicast mode refers to transmitting multimedia data to only a certain specified user group within a multicast area, whereby a multicast area, which is a region where multicast service is possible.
The UTRAN employs a radio bearer to provide a MBMS bearer service to a terminal. The types of MBMS bearers used by the UTRAN include a point-to-multipoint (p-t-m) radio bearer and a point-to-point (p-t-p) radio bearer. Here, the point-to-point radio bearer (RB) is a bi-directional RB that comprises a logical channel DTCH (Dedicated Traffic CHannel), a transport channel DCH (Dedicated CHannel), and a physical channel DPCH (Dedicated Physical CHannel). The point-to-multipoint RB is a uni-directional downlink RB that comprises a logical channel MTCH (MBMS Traffic CHannel), a transport channel FACH (Forward Access CHannel), and a physical channel SCCPCH (Secondary Common Control Physical CHannel). A logical channel MTCH is configured for each MBMS service provided to one cell, and is used to transmit user plane data of a particular MBMS service to a plurality of terminals.
The UTRAN providing the MBMS service transmits via the logical channel MCCH (MBMS Control CHannel), MBMS-related RRC messages, namely, control messages to a plurality of terminals. Here, the MCCH is a point-to-multipoint downlink channel, and is mapped to a transport channel FACH (Forward Access CHannel), while the transport channel FACH is mapped to a physical channel SCCPCH (Secondary Common Control Physical CHannel). Examples of MBMS-related RRC messages transmitted through the MCCH include MBMS service information and MBMS radio bearer information. Here, MBMS service information transmits to the terminals wishing to receive the MBMS service, an ID (identification) list of MBMS services that are ongoing in a corresponding cell and transmits the type of radio bearer for the corresponding MBMS service. Also, when a particular MBMS service uses a point-to-multipoint radio bearer for a corresponding cell, the MBMS radio bearer information transmits information about the point-to-multipoint radio bearer for that service to those terminals that wish to receive that service.
A terminal that wishes to receive a particular MBMS service by using a point-to-multipoint radio bearer receives MBMS service information through the MCCH. If the MBMS service information received by the terminal instructs that the MBMS radio bearer information should be received for a particular MBMS service, the terminal obtains through the MBMS radio bearer information, the necessary information for configuring a MBMS radio bearer at the terminal for receiving the particular MBMS service. Namely, if the MBMS service information received by the terminal includes the ID of a particular MBMS service, and if the type of radio bearer for the particular MBMS service is informed to be a point-to-multipoint type, the terminal receives the MBMS radio bearer information to obtain the point-to-multipoint radio bearer information, and configures a point-to-multipoint radio bearer at the terminal by using this information.
In the related art, when a point-to-multipoint radio bearer is configured in a cell region for a particular MBMS service, because a plurality of terminals commonly receive service data through the point-to-multipoint radio bearer, the UTRAN cannot appropriately configure the point-to-multipoint radio bearer for each terminal having respectively different reception conditions. Thus, when a point-to-multipoint radio bearer is configured, the probability of unsuccessful data reception by the terminal is higher than that when a point-to-point radio bearer is configured.
To reduce such probability of unsuccessful data reception by the terminal, when a MBMS service is transmitted from a cell through a point-to-multipoint radio bearer, the terminal searches the neighboring cells and additionally receives that MBMS service through the point-to-multipoint radio bearer provided from one or more of those neighboring cells to thus receive the MBMS service data that is desired. Namely, when a particular MBMS service is provided through a point-to-multipoint radio bearer from the cell (region) in which the terminal is located in, even if the reception of some data is unsuccessful, such data can be received from one or more other cells that have the point-to-multipoint radio bearer configured therein, and thus unsuccessfully data receptions can be minimized.
However, in the related art, the UM RLC entity at the receiving end receives RLC PDUs from only a single cell or only a single logical channel, and upon checking the sequence number of each RLC PDU, no longer waits to receive those RLC PDUs that have been determined to be missing (lost), all RLC SDUs related to any unsuccessfully received RLC PDU are discarded (deleted), and only the successfully received RLC PDUs are processed.
But, this causes serious problems when data is received through a point-to-multipoint radio bearer from multiple cells or when data is received through multiple logical channels, such as in MBMS service. This is because the points of time when a terminal receives the data of a particular service from each cell are different. For example, FIG. 4 assumes that data of a single MBMS service is received from Cell A and from Cell B. According to the related art operation, if the UM RLC receives a RLC PDU having SN=5, the VR(US) is updated, while the RLC PDU having SN=3 and the RLC PDU having SN=4 are considered to be unsuccessfully received and no longer waits to receives these RLC PDU. Then, the RLC SDU including the RLC PDU having SN=5 is reassembled and sent to the upper layer. As can be understood from FIG. 4, even though the terminal could receive a PDU having SN=3 from Cell B, the RLC PDUs having SN=3 and SN=4 are considered to be not receivable, and has the problem of processing the RLC PDU having SN=5 before the RLC PDUs having SN=3 or SN=4 are received.
Also, upon receiving a RLC PDU having SN=5 from Cell A, the UM RLC updates the VR(US) to 6, and if a RLC PDU having SN=3 is received thereafter from Cell B, the UM RLC determines that a wrap-around situation has occurred because the currently received RLC PDU (having SN=3) has a lower sequence number than the last received RLC PDU (having SN=5). Thus, the UM RLC determines that the currently received RLC PDU (having SN=3) is a new RLC PDU that was generated after the RLC PDU having SN=5, and the problem of undesirably updating the VR(US) to 4 and processing the RLC PDUs thereafter occurs. If the RLC PDU having SN=5 is received from Cell B after the VR(US) was updated to 4, there is a problem in that the RLC PDU having SN=5 (received from Cell B) is processed again, because a RLC PDU having SN=5 had been previously received from Cell A and already processed. In such case, the length indicator information included in the RLC PDU and the mapping between the RLC PDUs do not match one another, thus resulting in the serious problem of not allowing the UM RLC to properly reassemble the RLC SDUs from the RLC PDUs. This also problematic because most services employing the UM RLC are applications require sequential reception of data, and such improper data reception causes problems in the operation of such applications.
The related art problems occurring due to non-sequential data reception at the UM RLC are addressed by the present invention to minimize delivery delay time, to reduce missing PDUs received from each logical channel, and to process the PDUs by avoiding duplicate PDUs.
Thus, in the present invention, an unacknowledged mode (UM) radio link control (RLC) entity receives RLC protocol data units (PDUs) delivered through one or more logical channels and re-orders the received PDUs by referring to their sequence numbers and by using a receive window and a timer.